﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using gestionClinica.Gestion_DB;

namespace gestionClinica
{
    public partial class FormPaciente : Form
    {
        private gestion gest = new gestion();

        public FormPaciente()
        {
            InitializeComponent();
        }

        private void FormPaciente_Load(object sender, EventArgs e)
        {
            grillaDoctor2.DataSource = gest.getDoctores();
            grillaDoctor2.DataMember = "doctores";
            grillaPaciente.DataSource = gest.getPacientes();
            grillaPaciente.DataMember = "pacientes";
            cbUnid.DataSource = gest.getUnidades().Tables[0].DefaultView;
            cbUnid.DisplayMember = gest.getUnidades().Tables[0].Columns[1].ToString();
            cbUnid.ValueMember = gest.getUnidades().Tables[0].Columns[0].ToString();
            txtEdad.MaxLength = 2;
        }

        private void KeyPressEdad(object sender, KeyPressEventArgs e)
        {
            if (!Char.IsDigit(e.KeyChar) && !Char.IsControl(e.KeyChar))
            {
                e.Handled = true;

            }
        }

        private void btAgregarPaciente_Click(object sender, EventArgs e)
        {
            if (txtRut2.Text == "")
            {
                MessageBox.Show("Falta Rut");
                txtRut2.Focus();

            }
            else if (txtNombre.Text == "")
            {

                MessageBox.Show("Falta Nombre");
                txtNombre.Focus();
            }
            else if (txtEdad.Text == "")
            {
                MessageBox.Show("Falta Edad");
                txtEdad.Focus();
            }
            else
            {
                string rut = txtRut2.Text.ToUpper();
                string nombre = txtNombre.Text.ToUpper();                
                int edad = Convert.ToInt32(txtEdad.Text);

                string result = gest.insertarPaciente(rut, nombre, edad);
                MessageBox.Show(result);
                txtRut2.Text = "";
                txtNombre.Text = "";
                txtEdad.Text = "";
                grillaPaciente.DataSource = gest.getPacientes();
                grillaPaciente.DataMember = "pacientes";
                txtRut2.Focus();
                gppingresaraciente.Visible = false;
                btnregistrar.Visible = true;
            }
        }

        private void btAceptar_Click(object sender, EventArgs e)
        {
            if (txtRut1.Text == "")
            {
                MessageBox.Show("Falta Rut Paciente");
                txtRut1.Focus();

            }else if(txtrutdoctor2.Text==""){
                MessageBox.Show("Seleccione un Doctor en la lista");
                txtrutdoctor2.Focus();
            }else if(txtsintoma.Text==""){
                MessageBox.Show("Agrege sintoma del paciente");
                txtsintoma.Focus();
            } 
            else
            {

                string rutPaciente = txtRut1.Text.ToUpper();
                int unidad = Convert.ToInt32(cbUnid.SelectedValue.ToString());
                string fecha = DateTime.Today.ToString("yyyy-MM-dd");
                string sintoma = txtsintoma.Text.ToUpper();
                string rutDoctor = txtrutdoctor2.Text.ToUpper();
              

                gest.insertarPacienteUnidad(rutPaciente,unidad,fecha);                
                gest.insertarAtencion(rutDoctor,rutPaciente,sintoma,fecha);

                MessageBox.Show("Datos ingresados correctamente");
                txtRut1.Text = "";
                cbUnid.SelectedIndex = 0;
                grillaDoctor2.DataSource = gest.getDoctores();
                grillaDoctor2.DataMember = "doctores";
                txtRut1.Focus();
                
            }
        }

      

        private void btnregistrar_Click(object sender, EventArgs e)
        {
            gppingresaraciente.Visible= true;
            btnregistrar.Visible = false;
        }

        private void eventobuscarrutt(object sender, EventArgs e)
        {
            grillaPaciente.DataSource = gest.getPacienteslike(txtbuscarruuttt.Text.ToUpper());
            grillaPaciente.DataMember = "pacientes";
            
        }

        private void cellclikckk(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex >= 0)
            {
                txtRut1.Text = grillaPaciente[0, e.RowIndex].Value.ToString();
            }
        }

        private void eventobuscarEspecialidad(object sender, EventArgs e)
        {
            grillaDoctor2.DataSource = gest.getDoctoreslike(txtbuscarEspecialidad.Text.ToUpper());
            grillaDoctor2.DataMember = "doctores";
        }

        private void txtRut1_TextChanged(object sender, EventArgs e)
        {

        }

        private void grillaPaciente_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {

        }

        private void cellclickop(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex >= 0)
            {
                txtrutdoctor2.Text = grillaDoctor2[0, e.RowIndex].Value.ToString();
            }
        }

        private void keypresBusquedaRut(object sender, KeyPressEventArgs e)
        {
            if (!Char.IsDigit(e.KeyChar) && !Char.IsControl(e.KeyChar) && Char.IsDigit(e.KeyChar='-'))
            {
                e.Handled = true;

            }
        }

        
    }
}
